<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class SeizoenModel extends CI_Model {

	function __construct(){
		parent::__construct();
		//$this->load->library('Seizoen');
	}

	private function getArrayFromRows($result){
		if($result->num_rows() > 0){
    		$return = array();
    		foreach($result->result() as $object){
    			$seizoen = new SeizoenClass();
    			$seizoen->Id = $object->seizoenid;
    			$seizoen->Start = $object->start;
    			$seizoen->Eind = $object->eind;
                        $seizoen->Actief = $object->actief;
    			$return[] = $seizoen;
    		}

    		return $return;
    	} else {
    		return null;
    	}
	}


	
    function SelectAll(){
    	$query = "select * from seizoen where deleted = 0";
    	$result = $this->db->query($query);
    	// die(print_r($result->result()));
    	return $this->getArrayFromRows($result);
    	
    }

    function SelectById($id){
    	$query = "select * from seizoen where seizoenid = ? and deleted = 0";
    	return $this->getArrayFromRows($this->db->query($query,array($id)));
    }

     function SelectActive(){
    	$query = "select * from seizoen where actief = 1 and deleted = 0";
    	return $this->getArrayFromRows($this->db->query($query));
    }

    function Insert($start,$eind,$actief){
    	if($actief == 1){
    		$query = "update seizoen set actief = 0 where actief = 1 and deleted = 0";
    		$this->db->query($query);
    	}
    	$query = "insert into seizoen (start,eind,actief) values (?,?,?)";
    	$this->db->query($query,array($start,$eind,$actief));

    	return $this->db->insert_id();
    }

    function Activate($id){
    	$query = "update seizoen set actief = 0 where actief = 1 and deleted = 0";
    	$this->db->query($query);
    	$query = "update seizoen set actief = 1 where id = ? and deleted = 0";
    	return $this->db->query($query,array($id));
    }

    function Delete($id){
    	$query = "update seizoen set deleted = 1 where seizoenid = ?";
    	$return = $this->db->query($query,array($id));
    	return $return;
    }
    
    function RegisterPloeg($id,$seizoen){
        $query = "insert into ploegseizoen (ploeg,seizoen) values (?,?)";
        return $this->db->query($query,array($id,$seizoen));
    }
    
    function RegisterSpeler($id,$ploegseizoen,$nummer,$positie){

        $query = "insert into spelerploegseizoen (speler,ploegseizoen,nummer,positie) values (?,?,?,?)";
        return $this->db->query($query,array($id,$ploegseizoen,$nummer,$positie));
    }
    
    function UnregisterPloeg($ploegseizoen){
        file_put_contents('kads.log',$ploegseizoen,FILE_APPEND);
        $query = "update ploegseizoen set deleted = 1 where ploegseizoenid = ?";
        return $this->db->query($query,array($ploegseizoen));
    }
    
    function UnregisterSpeler($speler,$seizoen){
        $query = "update spelerploegseizoen inner join ploegseizoen on spelerploegseizoen.ploegseizoen = ploegseizoen.ploegseizoenid set spelerploegseizoen.deleted = 1 where speler = ? and seizoen = ?";

        return $this->db->query($query,array($speler,$seizoen));

    }
	
}
